package cc.aiee.alipay.model;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import cc.aiee.core.interfaces.PayJsonBeanInterface;
import cc.aiee.core.kit.KitJson;
import lombok.Data;

@Data
public class AliPayAppPayModel implements PayJsonBeanInterface {

	// 对一笔交易的具体描述信息。如果是多种商品，请将商品描述字符串累加传给body
	private String body;

	// 商品标题/交易标题/订单标题/订单关键字等
	// 注意：不可使用特殊字符，如 /，=，& 等。
	@NotBlank
	private String subject;

	// 订单号
	@NotBlank
	private String orderNo;

	@NotNull
	@Min(value = 1)
	private Integer totalAmount;

	// 回调地址
	private String notifyUrl;

	@Override
	public String toJson() {
		return KitJson.toJSONString(this);
	}

	@Override
	public String toJson(boolean prettyFormat, boolean ignoreNull) {
		return KitJson.toJSONString(this, prettyFormat, ignoreNull);
	}

}
